Verification of Program Transformations with Inductive Refinement Types

نویسندگان

چکیده

High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, pattern matching, backtracking, and generalized iterators. We present the design implementation of an interpretation tool, Rabit, verifying inductive type shape properties transformations written in such languages. describe how to perform based on operational semantics, specifically focusing challenges arising when analyzing traversals matching. Finally, we evaluate Rabit a series (normalization, desugaring, refactoring, code generators, inference, etc.) showing that can effectively verify stated properties.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Theory Refinement for Program Verification

Recent progress in automated formal verification is to a large degree due to the development of constraint languages that are sufficiently light-weight for reasoning but still expressive enough to prove properties of programs. Satisfiability modulo theories (SMT) solvers implement efficient decision procedures, but offer little direct support for adapting the constraint language to the task at ...

متن کامل

Program Verification with Flow-Effect Types

This paper develops a flow sensitive type system for higher order programming languages. Flow-effect types are a novel form of type that combine the notion of temporal ordering inherent in type effect systems, with subtype constraint systems which focus on unordered dataflow. The resulting system achieves a high level of precision by cutting very close to the operational behavior of programs. T...

متن کامل

Compositional Verification of Relaxed-Memory Program Transformations

Œis paper is about verifying program transformations on an axiomatic relaxed memory model of the kind used in C/C++ and Java. Relaxed models present particular challenges for verifying program transformations, because they generate many additional modes of interaction between code and context. For a block of code being transformed, we de€ne a denotation from its behaviour in a set of representa...

متن کامل

Application of Automatic Transformations to Program Verification

A technique fo r incorpora t ing automatic t ransformat ions i n to processes such as the app l i ca t i on of inference r u l e s , subsumptlon, and demodulation provides a mechanism fo r improving search s t ra teg ies fo r theorem proving problems a r i s i n g from the f i e l d of program v e r i f i c a t i o n . The incorpora t ion of automatic t ransformat ions i n t o the inference pro...

متن کامل

Quotient inductive-inductive types

Higher inductive types (HITs) in Homotopy Type Theory (HoTT) allow the definition of datatypes which have constructors for equalities over the defined type. HITs generalise quotient types, and allow to define types which are not sets in the sense of HoTT (i.e. do not satisfy uniqueness of equality proofs) such as spheres, suspensions and the torus. However, there are also interesting uses of HI...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Software Engineering and Methodology

سال: 2021

ISSN: ['1049-331X', '1557-7392']

DOI: https://doi.org/10.1145/3409805